Geographic location information updates

ABSTRACT

A method, computer program product, and system are provided to update geographic location information for an electronic device. The method can include transmitting the geographic location information for the electronic device to a server device at a first time interval. A determination can be made regarding whether the electronic device is in communication with a third-party device. If the electronic device is in communication with the third-party device, then updated geographic location information for the electronic device is transmitted to the server device at a second time interval, where the second time interval is shorter than the first time interval.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of, and claims priority to,co-pending U.S. patent application Ser. No. 12/909,304, filed Oct. 21,2010, which is incorporated by reference herein in its entirety.

BACKGROUND

1. Field

Embodiments generally relate to updates in geographic locationinformation for an electronic device.

2. Background

Many electronic devices include location-based service (LBS)applications, which allow a geographic location of the electronic deviceto be either displayed on the device or transmitted to a server devicefor access by another electronic device (e.g., third-party device). LBSapplications can be used to identify and track the geographic locationof electronic device users. For instance, LBS applications can enablethe electronic device user to initiate a location request for the user'scurrent geographic location, in which the electronic device serves as aGlobal Positioning System (GPS) terminal. The location of the electronicdevice user can also be determined based on, for example, Wi-Fi and CellID location methods. Also, LBS applications can transmit geographiclocation information for the electronic device to a server device,allowing a user of a third-party device to access and view the locationof the electronic device user. The electronic device user can manuallycontrol the accuracy and details of the geographic location informationviewed by third parties.

Various methods and techniques can be used to assess the geographiclocation of the electronic device user. For instance, a mobile phonewith an embedded GPS can send position coordinates to a mobile networkserver such that other users of the mobile network server can view thegeographic location of the mobile phone. In battery-operated electronicdevices (e.g., mobile phones, personal digital assistants, and laptops),embedded hardware and software associated with LBS applications canconsume a significant portion of the device's computing and batteryresources. Moreover, as the frequency of location updates sent from thebattery-operated electronic device to a centralized network serverincreases, the embedded hardware and software associated with LBSapplications process the location updates more frequently, thus limitingcomputation and battery resources for other applications on theelectronic device.

Methods and systems are needed to provide geographic locationinformation for an electronic device, while conserving battery andcomputation resources of the electronic device.

SUMMARY

Embodiments include a method of providing geographic locationinformation for an electronic device. The method includes transmittingthe geographic location information for the electronic device to aserver device at a first time interval. A determination is maderegarding whether the electronic device is in communication with athird-party device. The communication link between the electronic deviceand the third-party can include, for example and without limitation, avoice communication, a text message, and an email communication betweenthe electronic device and the third-party device. If the electronicdevice is in communication with the third-party device, then updatedgeographic location information for the electronic device is transmittedto the server device at a second time interval, where the second timeinterval is shorter than the first time interval. The second timeinterval can be based on a rate of change in GPS location of theelectronic device over time.

Embodiments additionally include a computer program product thatincludes a computer-usable medium with computer program logic recordedthereon that, when executed by one or more processors, providesgeographic location information for an electronic device. The computerprogram logic includes the following: first computer readable programcode that enables a processor to transmit geographic locationinformation for the electronic device to a server device at a first timeinterval; second computer readable program code that enables a processorto determine whether the electronic device is in communication with athird-party device; and, third computer readable program code thatenables a processor to transmit updated geographic location informationfor the electronic device to the server device at a second time intervalwhen the electronic device is in communication with the third-partydevice, where the second time interval is shorter than the first timeinterval.

Embodiments further include a system for providing geographic locationinformation for an electronic device. The system includes a GlobalPositioning System (GPS), a transceiver device, and a computing device.The GPS is configured to calculate the geographic location informationfor the electronic device. The transceiver device is configured totransmit the geographic location information to a server device at afirst time interval. The computing device is configured to perform thefollowing functions: determine whether the electronic device is incommunication with a third-party device; and, transmit, via thetransceiver device, updated geographic location information for theelectronic device to the server device at a second time interval whenthe electronic device is in communication with the third-party device,where the second time interval is shorter than the first time interval.The computing device can include one or more processors.

Further features and advantages described herein, as well as thestructure and operation of various embodiments, are described in detailbelow with reference to the accompanying drawings. It is noted that thefollowing description is not limited to the specific embodimentsdescribed herein. Such embodiments are presented herein for illustrativepurposes only. Additional embodiments will be apparent to personsskilled in the relevant art based on the teachings contained herein.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated herein and form a partof the specification, illustrate embodiments and, together with thedescription, further serve to explain the principles herein and toenable a person skilled in the relevant art to make and use theembodiments described herein.

FIG. 1 is an illustration of an exemplary communication system in whichembodiments can be implemented.

FIG. 2 is an illustration of an embodiment of a mobile device in whichembodiments can be implemented.

FIG. 3 is an illustration of an embodiment of a method of providinggeographic location information for an electronic device.

FIG. 4 is an illustration of an embodiment of a method of receivinggeographic location information for an electronic device.

FIG. 5 is an illustration of another embodiment of a method of providinggeographic location information for an electronic device.

FIG. 6 is an illustration of an example computer system in whichembodiments can be implemented.

DETAILED DESCRIPTION

The following detailed description refers to the accompanying drawingsthat illustrate illustrative embodiments. Other embodiments arepossible, and modifications can be made to the embodiments within thespirit and scope of the detailed description.

It would be apparent to a person skilled in the relevant art that theembodiments, as described below, can be implemented in many differentembodiments of software, hardware, firmware, and/or the entitiesillustrated in the figures. Any actual software code with thespecialized control of hardware to implement embodiments is not limitingof the detailed description. Thus, the operational behavior ofembodiments will be described with the understanding that modificationsand variations of the embodiments described below are possible, giventhe level of detail presented herein.

FIG. 1 is an illustration of communication system 100 in whichembodiments described herein can be implemented. Communication system100 includes client devices 110 ₀-110 _(N) that are communicativelycoupled to a server device 130 via a network 120.

Client devices 110 ₀-110 _(N) can be, for example and withoutlimitation, mobile phones, personal digital assistants (PDAs), laptops,or other similar types of electronic devices, or a combination thereof.

Server device 130 can be, for example and without limitation, atelecommunication server, a web server, or other similar type ofdatabase servers. In an embodiment, server device 130 can have multipleprocessors and multiple shared or separate memory components such as,for example and without limitation, one or more computing devicesincorporated in a clustered computing environment or server farm. Thecomputing process performed by the clustered computing environment, orserver farm, can be carried out across multiple processors located atthe same or different locations. In an embodiment, server device 130 canbe implemented on a single computing device. Examples of computingdevices include, but are not limited to, a central processing unit, anapplication-specific integrated circuit, or other types of computingdevices having at least one processor and memory.

Further, network 120 can be, for example and without limitation, a wired(e.g., ethernet) or a wireless (e.g., Wi-Fi and 3G) network thatcommunicatively couples client devices 110 ₀-110 _(N) to server device130.

In an embodiment, communication system 100 can be a mobiletelecommunication system (e.g., 3G and 4G mobile telecommunicationsystems), in which mobile devices (e.g., client devices 110 ₀-110 _(N)of FIG. 1) can communicate with one another (e.g., via speech and dataservices) with the use of a mobile telecommunication network (e.g.,network 120 of FIG. 1) and a mobile network server (e.g., server device130 of FIG. 1).

FIG. 2 is an illustration of an embodiment of a mobile device 200 inwhich embodiments described herein can be implemented. Mobile device 200includes a transceiver device 210, a computing device 220, a GlobalPositioning System (GPS) 230, and a roaming signal generator 240. In anembodiment, transceiver device 210 is configured to transmit and receivecommunication signals (e.g., voice and data signals) over a mobiletelecommunication network (e.g., network 120 of FIG. 1), as would beunderstood by a person skilled in the relevant art. In an embodiment,roaming signal generator 240 is configured to emit a roaming signal to anearby antenna (e.g., tower) in the mobile telecommunication network, inwhich the roaming signal can be used to track a geographic location ofmobile device 200 (described further below). Computing device 240 isconfigured to control operations and functions of mobile device 200 suchas, for example and without limitation, a transmission/reception ofcommunication signals via transceiver device 210 and functionsassociated with LBS applications loaded on mobile device 200 via GPS 230and roaming signal generator 240.

Mobile device 200 is also equipped with GPS 230, which can calculate ageographic location (e.g., latitude and longitude coordinates) of mobiledevice 200 and then send the geographic location information to themobile network server (e.g., server device 130 of FIG. 1) for access bya third-party device, according to an embodiment. GPS technology andassociated methods to calculate and transmit GPS-based geographiclocation information from mobile device 200 to the mobile network serverare known to persons skilled in the relevant art.

As described herein, the term “third-party device” refers to anelectronic device other than mobile device 200 of FIG. 2 or a softwareapplication (e.g., LBS application) loaded on an electronic device otherthan mobile device 200. For ease of explanation, the third-party devicedescribed in the embodiment herein refers to an electronic device otherthan mobile device 200. The third-party device can include, for exampleand without limitation, a laptop, a personal digital assistant, adesktop computer, and other similar types of electronic devices.However, based on the description herein, a person skilled in therelevant art will recognize that the embodiments described herein areequally applicable to a software application loaded on an electronicdevice other than mobile device 200 and equivalents thereof.

In another embodiment, the geographic location of the mobile device 200can be calculated based on a signal strength of a roaming signaltransmitted from roaming signal generator 240 to a nearby antenna (e.g.,a mobile base station) in the mobile telecommunication system. A roughestimation of the mobile device's geographic location can be based onthe location of the nearby antenna that receives the strongest signalfrom roaming signal generator 240 (e.g., cell identification or cell oforigin), according to an embodiment. That is, the geographic location ofmobile device 200 can be determined based on a predetermined radialdistance from the nearby antenna. In an embodiment, an accurateestimation of the geographic location of mobile device 200 can bedetermined using a triangulation method based on the strength of thesignal emitted from roaming signal generator 240 with respect to aplurality of surrounding antennas. Triangulation methods and techniquesto determine a geographic location of mobile device 200 based on thesignal strength of the mobile device's roaming signal are known topersons skilled in the relevant art. The rough estimation and/or theaccurate estimation of the mobile device's geographic location can bestored on the mobile network server (e.g., server device 130 of FIG. 1)for access by a third-party device, according to an embodiment.

In yet another embodiment, the geographic location information formobile device 200 can be calculated based on a combination of GPSinformation from mobile device 200 (e.g., via GPS 230) and locationinformation determined from the mobile telecommunication system (e.g.,location of nearby antenna towers and triangulation methods). Forinstance, an Assisted GPS (A-GPS) technique can be used to calculate thegeographic location information for mobile device 200 based on locationinformation from GPS 230 and location information based on the strengthof a signal emitted from roaming signal generator 240. A-GPS techniquesare known to persons skilled in the relevant art. In an embodiment, thegeographic location information derived from the combination of GPS 230and roaming signal generator 240 can be stored on the mobile networkserver (e.g., server device 130 of FIG. 1) for access by a third-partydevice.

In an embodiment, after the geographic location information for mobiledevice 200 is stored on the mobile network server, a third-party device(e.g., an electronic device other than mobile device 200) can access thegeographic location information for mobile device 200 from the mobilenetwork server. The third-party device can access the geographiclocation information for mobile device 200 by transmitting a locationrequest to the mobile network server, according to an embodiment. Forinstance, mobile device 200 and the third-party device can both have aLBS application loaded thereon, in which the LBS application for eachrespective electronic device allows mobile device 200 and thethird-party device to track the geographic location of one another. Inparticular, the third-party device can calculate its geographic locationusing, for example and without limitation, one of the geographiclocation methods described above with respect to the mobile device 200.The geographic location information for the third-party device can alsobe stored on the mobile network server for access by other electronicdevices such as, for example and without limitation, mobile device 200.

With respect to FIG. 1, in another embodiment, communication system 100can be an internet communication system, in which computing devices(e.g., client devices 110 ₀-110 _(N) of FIG. 1) can communicate with oneanother (e.g., via voice-over-Internet protocol (VoIP) and dataservices) with the use of an Internet network (e.g., network 120 ofFIG. 1) and an Internet network server (e.g., server device 130 of FIG.1). The computing devices can include, for example and withoutlimitation, mobile phones, personal digital assistants, laptops, andother similar types of computing devices. In an embodiment, thecomputing devices can each be equipped with a GPS, which can calculate ageographic location (e.g., latitude and longitude coordinates) of thecomputing device and then send the geographic location information tothe Internet network server for access by a third-party device,according to an embodiment.

When the computing device is unable calculate its geographic locationvia GPS, other geographic location indicators can be used to determinethe geographic location of the computing device, according to anembodiment. For example, the computing device can be connected to theInternet network and assigned an Internet Protocol (IP) address. Aswould be understood by persons skilled in the relevant art, thecomputing device's IP address can be used to calculate geographiclocation information for the computing device. In an embodiment, thegeographic location information for the computing device can be storedon the Internet network server for access by a third-party device.

In an embodiment, after the geographic location of the computing deviceis stored on the Internet network server, the third-party device (e.g.,an electronic device other than the computing device) can access thegeographic location information for the computing device. Thethird-party device can access the geographic location information forthe computing device by transmitting a location request to the Internetnetwork server, according to an embodiment. For instance, the computingdevice and the third-party device can both have a LBS application loadedthereon, in which the LBS application for each respective electronicdevice allows the computing device and the third-party device to trackthe geographic location of one another. In particular, the third-partydevice can calculate its geographic location using, for example andwithout limitation, its IP address. The geographic location informationfor the third-party device can also be stored on the Internet networkserver for access by other electronic devices such as, for example andwithout limitation, the computing device.

Based on the description herein, a person skilled in the relevant artwill recognize that other communication systems and associatedelectronic devices can be used with the embodiments described herein.These other communication systems and associated electronic devices arewithin the scope and spirit of the embodiments described herein.

FIG. 3 is an illustration of an embodiment of a method 300 of providinggeographic location information for an electronic device. Method 300 canoccur using, for example, computer system 100 of FIG. 1. For ease ofexplanation, computer system 100 will be used to facilitate in thedescription of method 300. Also, for ease of explanation, each of clientdevices 110 ₀-110 _(N) is a mobile phone with an embedded GPS androaming signal generator (e.g., GPS 230 and roaming signal generator 240of FIG. 2, respectively), network 120 is a mobile telecommunicationnetwork, and server device 130 is a mobile network server. Based on thedescription herein, a person skilled in the relevant art will recognizethat method 300 can be executed on other types of computer systems withother types of associated client devices, networks, and servers. Theseother types of computer systems are within the scope and spirit of theembodiments described herein.

In an embodiment, method 300 can be performed in conjunction with an LBSapplication loaded on a mobile phone. For ease of explanation, it isassumed that the LBS application can allow other electronic devices(also referred to herein as “third-party devices”) to access and viewgeographic location information for the mobile phone, as well as allowthe mobile phone to access and view geographic location information forthe third-party device.

For instance, the mobile phone can have an LBS application that controlsthe mobile phone to transmit geographic location information for themobile phone to the mobile network server on a periodic basis in orderprovide up-to-date location information for access by third-partydevices (e.g., other mobile phones). The third-party device can accessand view geographic location information for the mobile phone byretrieving the geographic location information from the mobile networkserver via the mobile telecommunication network. Conversely, the mobilephone can also access and view geographic location information for thethird-party device, where the third-party device transmits itsgeographic location information to the mobile network server in asimilar manner as the mobile phone. In an embodiment, the LBSapplication on the mobile phone can allow the mobile phone to transmitits geographic location information to the mobile network server foraccess by the third-party device, but the LBS application on thethird-party device can prevent the mobile phone from accessinggeographic location information for the third-party device via themobile network server. Based on the description herein, a person skilledin the relevant art will recognize that various permission controls canbe set in the LBS applications on the mobile phone and the third-partydevice to allow or prevent access to geographic location information ofeach of the respective electronic devices.

A tradeoff, among others, exists between the frequency at which themobile phone transmits its geographic location information to the mobilenetwork server and a benefit that a user of the third-party devicereceives in accessing and viewing up-to-date location information. Inparticular, an increase in frequency of the mobile phone's transmissionof geographic location information to the mobile network server can leadto an improved user experience for the third-party device user and/orthe mobile phone user in the ability to receive and/or transmitup-to-date geographic location information. However, as the frequency intransmission of geographic location information increases, the mobilephone's battery resources decrease and the computing resources for otherapplications on the mobile phone decrease as well. Among other things,method 300 addresses this tradeoff between user experience andconsumption of the mobile phone's battery and computation resources.

A benefit of method 300, among others, is that geographic locationupdates are provided by the mobile phone to the mobile network serverduring a time period that is beneficial to both the mobile phone andthird-party device users. In particular, while the mobile phone is incommunication with the third-party device (e.g., via voice, email, andtext messaging communication), the mobile phone and/or the third-partydevice can transmit their respective geographic location information tothe mobile network server. In turn, the mobile phone and/or thethird-party device can retrieve up-to-date geographic locationinformation for the other electronic device. This up-to-date locationinformation for the mobile phone and/or the third-party device leads toan improved user experience in LBS applications, as well as conservesbattery and computation resources of the electronic devices. In essence,method 300 provides up-to-date geographic location information to themobile network server when the mobile phone is in communication with thethird-party device.

As referred to herein, the term “communication” refers to a transfer ofinformation from one entity (e.g., the mobile phone) to another entity(e.g., the third-party device). For exemplary purposes, thecommunication between the mobile phone and the third-party device ofmethod 300 will be described in the context of electronic data transferbetween the mobile phone and the third-party device. The communicationincludes, for example and without limitation, voice, email, and textmessaging communication. Based on the description herein, a personskilled in the relevant art will recognize that other forms ofcommunication are equally applicable to the embodiments describedherein.

In reference to step 310 of FIG. 3, the mobile phone transmits itsgeographic location information to the mobile network server at a firsttime interval. In addition, the mobile phone can access the mobilenetwork server during the first time interval in order to receivegeographic location information for the third-party device, according toan embodiment.

In an embodiment, the time period associated with first time interval instep 310 is specific to the implementation of the mobile phone and theLBS application loaded thereon. For example, the LBS application mayrefresh the geographic location of the mobile phone (e.g., transmissionof geographic location information for the mobile phone to the mobilenetwork server) more frequently when the mobile phone is plugged into anexternal energy source (e.g., wall outlet) than when the mobile phoneoperates on its own battery resources. In another example, the LBSapplication may refresh the geographic location information for themobile phone when the phone is inactive (e.g., no applications orprograms being executed on the mobile phone) for a predetermined periodof time. In yet another example, the LBS application may refresh thegeographic location information for the mobile phone based on a userpreference setting (e.g., every 2, 5, or 10 minutes). Based on thedescription herein, a person skilled in the relevant art will recognizethat the refresh policy for the mobile phone and the LBS applicationloaded thereon can be based on additional factors.

In an embodiment, the LBS application may refresh the geographiclocation information for the mobile phone based on a dynamic timeinterval. The dynamic time interval can be based on an algorithm thataccounts for various factors such as, for example and withoutlimitation, travel behavior data of the mobile phone and energyconsumption of the mobile phone's battery resources.

In an embodiment, the mobile phone can transmit GPS location informationto the mobile network server (e.g., as described above with respect tomobile device 200 of FIG. 2). The geographic location of the mobilephone can also be estimated based on a signal strength of a roamingsignal transmitted from the roaming signal generator of the mobile phoneto a nearby antenna, according to an embodiment. In yet anotherembodiment, A-GPS techniques can be used to calculate the geographiclocation information for the mobile phone (e.g., as described above withrespect to mobile device 200 of FIG. 2).

The geographic location information for the mobile phone can includeinformation relating to latitude-longitude coordinates, a streetlocation, a city location, a state location, and a country location forthe mobile phone, according to an embodiment. In an embodiment, themobile phone can transmit both rough geographic location information(e.g., city location, state location, and country location of the mobilephone) and accurate geographic location information to the mobilenetwork server (e.g., latitude-longitude coordinates of the mobilephone).

In another embodiment, the mobile phone can transmit either accurate orrough geographic location information to the mobile network server. Inan embodiment, if the mobile phone and the third-party device arelocated more than a predetermined distance from one another, then themobile phone transmits rough geographic location information to themobile network server. For instance, if the mobile device and thethird-party device are located in different cities, states, orcountries, then the mobile phone user may not prefer to transmitaccurate geographic location information (e.g., latitude-longitudecoordinates and/or a street location of the mobile phone) to the mobilenetwork server because costs associated with battery and computationresources to transmit the accurate geographic location information tothe mobile network server may outweigh the usefulness of the informationto the user of the third-party device. Rather, the mobile phone cantransmit a roaming signal via its roaming signal generator and allow themobile telecommunication network to identify a location of the mobilephone based on a reception of the roaming signal by nearby antennas(see, e.g., description of roaming signal generator 240 of FIG. 2). Inturn, the battery and computing resources of the mobile phone can beconserved.

In reference to step 320 of FIG. 3, a determination is made regardingwhether the mobile phone is in communication with a third-party device.A communication link can be formed between the mobile phone and thethird-party device in a variety of ways such as, for example and withoutlimitation, voice communication, text messaging, and emailcommunication. In an embodiment, the communication link can be formedvia one mode of communication or a plurality of modes of communication.For instance, the communication link can be formed between the mobilephone and the third-party device via voice communication, textmessaging, or email communication. Alternatively, the communication linkcan be formed via voice communication and text communication, in whichthe use of both modes of communication by the mobile phone and/or thethird-party device overlaps one another. Based on the descriptionherein, a person skilled in the relevant art will recognize thatcommunication links based on other combinations of modes ofcommunication can be established between the mobile phone and thethird-party device.

In an embodiment, the mobile phone and the third-party device each havea LBS application loaded thereon, in which the LBS application includesan application programming interface (API) to allow the mobile phone andthe third-party device to interact with communication applicationsloaded thereon. These communication applications include applicationsassociated with, for example and without limitation, voicecommunication, text messaging, and email. Based on the LBS API'sinteraction with the communication applications, the determination canbe made in step 320 regarding whether the mobile phone is incommunication with the third-party device, as would be understood by aperson skilled in the relevant art.

Based on the description herein, a person skilled in the relevant artwill recognize that other methods and techniques can be used todetermine whether the mobile phone is in communication with thethird-party device. For instance, a mobile network server (e.g., serverdevice 130 of FIG. 1) can monitor whether a communication link isestablished between the mobile phone and the third-party device. Theseother methods and techniques are within the scope and spirit of theembodiments described herein.

In step 330, if the mobile phone is in communication with thethird-party device, then updated geographic location information for themobile phone is transmitted to the mobile network server at a secondtime interval. In an embodiment, the communication link between themobile phone and third-party device is an indication to the LBSapplication (loaded on the mobile phone) that the third-party device mayseek up-to-date geographic location information for the mobile phone. Intarn, during the communication between the mobile phone and thethird-party device, the mobile phone transmits its geographic locationinformation (e.g., GPS latitude and longitude coordinates) to the mobilenetwork server such that a user of the third-party device can access andview up-to-date information for the mobile phone.

In an embodiment, the second time interval associated with step 330 isshorter than the first time interval associated with step 310. This isbecause, since the mobile phone is in communication with the third-partydevice, the third-party device may seek more frequent updates on thegeographic location of the mobile phone than when the mobile phone andthird-party device are not in communication with one another. In anembodiment, the second time interval can be based on a user preferencesetting (e.g., 0.5, 1.0, and 1.5 minutes).

In another embodiment, the second time interval can adaptively changebased on a geographic location of the mobile phone over time. Inparticular, the time period associated with the second time interval candecrease or increase depending on whether the geographic location of themobile phone changes over a predetermined number of time intervals. Forinstance, the second time interval can be set to 30 seconds, where themobile phone transmits its geographic location information to the mobilenetwork server every 30 seconds while the mobile phone is incommunication with the third-party device. If the geographic location ofthe mobile phone changes over a time period of two minutes (e.g., overfour time intervals), then the time period associated with the secondtime interval can decrease to, for example, 20 seconds. On the otherhand, if the geographic location of the mobile phone does not changeover a time period of two minutes, then the time period associated withthe second time interval can increase to, for example, 40 seconds. Agoal of adaptively changing the second time interval, among others, isto provide the third-party access to up-to-date geographic locationinformation for the mobile phone while reducing battery and computingresources of the mobile phone when the geographic location of the mobilephone does not change over a predetermined amount of time.

An advantage, among others, of transmission of the geographic locationinformation for the mobile phone to the mobile network server during anestablished communication link between the mobile phone and thethird-party device is that the geographic location transmission canleverage resources of the mobile phone used for the communicationbetween the two electronic devices. In an embodiment, a transceiverdevice (e.g., transceiver device 210 of FIG. 2) and a computing device(e.g., computing device 220 of FIG. 2) of the mobile phone may be usedwhen the mobile phone is in communication with the third-party device.For example and without limitation, the transceiver device can be usedto receive voice data from the mobile network server when the mobilephone is in communication with the third-party device. The computingdevice can be used to control the transmission and reception of thevoice data via the transceiver device.

In an embodiment, the GPS of the mobile phone (e.g., GPS 230 of FIG. 2)can calculate a geographic location of the mobile phone and, in turn,the computing device can transmit the geographic location information,via the transceiver device, to the mobile network server while themobile phone is in communication with the third-party device. As aresult, up-to-date geographic location information for the mobile phoneis available on the mobile network server for access by the third-partydevice. The transmission of the geographic location information from themobile phone to the mobile network server leverages resources of themobile phone already in use for communication—for example, the computingdevice and the transceiver device of the mobile phone. In turn, thebattery resources of the mobile phone are not depleted at the same rateas compared to the battery resources expended if the voice communicationand the geographic location update to the mobile network server are twoseparate and independent communications. Thus, a benefit of method 300,among others, is the transmission of geographic location information tothe mobile network server during a communication link between the mobilephone and third-party device, thus reducing battery consumption due tothe execution of the LBS application on the mobile phone.

Another benefit of method 300, among others, is that the communicationbetween the mobile phone and the third-party device not only forms acommunication link between the users of the mobile phone and third-partydevice (e.g., via voice communication, text messaging, and emailcommunication), but also provides the third-party device up-to-dategeographic location information for the mobile phone. In turn, theup-to-date geographic location information can lead to an improved userexperience for the user of the third-party device for a variety ofreasons such as, for example and without limitation, the user of thethird-party device can assess the proximity of the mobile phone user andadjust his/her geographic location accordingly in order to be closer to(or farther away from) the mobile phone user. Based on the descriptionherein, a person skilled in the relevant art will recognize otherbenefits in the access and review of up-to-date geographic locationinformation.

In another embodiment of method 300, method 300 can include only steps320 and 330 (i.e., step 310 is not performed). In effect, the mobilephone transmits its geographic location information to the mobilenetwork server only when the mobile phone is in communication with thethird-party device (see steps 320 and 330), according to an embodiment.In limiting the transmission of the mobile phone's geographic locationinformation to time periods when the mobile phone is in communicationwith the third-party device, battery and computation resources of themobile phone can be conserved.

FIG. 4 is an illustration of an embodiment of a method 400 of receivinggeographic location information for an electronic device. Method 400 canoccur using, for example, computer system 100 of FIG. 1. For ease ofexplanation, computer system 100 will be used to facilitate in thedescription of method 400. Also, for ease of explanation, each of clientdevices 110 ₀-110 _(N) is a mobile phone with an embedded GPS androaming signal generator (e.g., GPS 230 and roaming signal generator 240of FIG. 2, respectively), network 120 is a mobile telecommunicationnetwork, and server device 130 is a mobile network server. Based on thedescription herein, a person skilled in the relevant art will recognizethat method 400 can be executed on other types of computer systems withother types of associated client devices, networks, and servers. Theseother types of computer systems are within the scope and spirit of theembodiments described herein.

The description of method 400 is similar to that of method 300 of FIG.3. In particular, method 400 is described from the perspective of thethird-party device, in which the third-party device accesses geographiclocation information that has been transmitted from the mobile phone tothe mobile network server.

In reference to step 410 of FIG. 4, the third-party device receives,from the mobile network server, geographic location information for themobile phone at a first time interval. The first time intervalassociated with step 410 can be determined in a similar manner as thefirst time interval associated with step 310 of FIG. 3 (describedabove).

In step 420, a determination is made regarding whether the third-partydevice is in communication with the mobile phone. A communication linkcan be formed between the third-party device and the mobile phone in avariety of ways such as, for example and without limitation, voicecommunication, text messaging, and email communication.

In step 430, if the third-party device is in communication with themobile phone, then the third-party device receives, from the mobilenetwork server, updated geographic location information for the mobilephone at a second time interval. In an embodiment, the second timeinterval is shorter than the first time interval. The second timeinterval associated with step 430 can be determined in a similar manneras the second time interval associated with step 330 of FIG. 3(described above).

FIG. 5 is an illustration of an embodiment of a method of providinggeographic location information for an electronic device. Method 500 canoccur using, for example, computer system 100 of FIG. 1. For ease ofexplanation, computer system 100 will be used to facilitate in thedescription of method 500. Also, for ease of explanation, each of clientdevices 110 ₀-110 _(N) is a mobile phone with an embedded GPS androaming signal generator (e.g., GPS 230 and roaming signal generator 240of FIG. 2, respectively), network 120 is a mobile telecommunicationnetwork, and server device 130 is a mobile network server. Based on thedescription herein, a person skilled in the relevant art will recognizethat method 400 can be executed on other types of computer systems withother types of associated client devices, networks, and servers. Theseother types of computer systems are within the scope and spirit of theembodiments described herein.

The description of method 500 is similar to that of methods 300 and 400of FIGS. 3 and 4, respectively. In particular, method 500 is describedfrom the perspective of the server device (e.g., server device 130), inwhich the server device receives geographic location information of themobile phone and transmits the information to the third-party device.Conversely, the server device can also receive geographic locationinformation of the third-party device and transmit the information tothe mobile phone.

In reference to step 510 of FIG. 5, server device 130 receivesgeographic location information from the client device at a first timeinterval. The first time interval associated with step 510 can bedetermined in a similar manner as the first time interval associatedwith step 310 of FIG. 3 (described above). In an embodiment, serverdevice 130 operates with the client device in a pull implementation, inwhich server device 130 requests the geographic location data from theclient device at the first time interval. In addition, with the pullimplementation, server device 130 also communicates with the clientdevice to modify the first time interval.

In step 520, after server device 130 receives the geographic locationinformation of the client device, server device 130 transmits thelocation information to the third-party device at a second timeinterval. In an embodiment, the second time interval can besubstantially the same as, longer than, or shorter than the first timeinterval of step 510. The second time interval can depend on a controlsetting in an LBS application on the third-party device, whichdetermines the frequency at which the third-party device receives thegeographic location information of the mobile phone, according to anembodiment.

In step 530, a determination is made regarding whether the mobile phoneand the third-party device are in communication with one another. Acommunication link can be formed between the mobile phone and thethird-party device in a variety of ways such as, for example and withoutlimitation, voice communication, text messaging, and emailcommunication. Since the communication link is formed over communicationsystem 100, communication system 100 can provide an indication to serverdevice 130 that the communication link exists between the electronicdevices, according to an embodiment.

With respect to step 540 of FIG. 5, if the mobile phone and thethird-party device are in communication with one another, server device130 receives updated geographic location information for the mobilephone at a third time interval. In an embodiment, the third timeinterval is shorter than the first and second time intervals of steps510 and 520, respectively. The third time interval associated with step540 can be determined in a similar manner as the second time intervalassociated with step 330 of FIG. 3 (described above).

In step 550, if the mobile phone and the third-party device are incommunication with one another, server device 130 transmits the updatedgeographic location information (from step 540) to the third-partydevice at a fourth time interval. In an embodiment, the fourth timeinterval can be substantially the same as, longer than or shorter thanthe third time interval. However, in an embodiment, the fourth timeinterval is shorter than the first and second time intervals of steps510 and 520, respectively. The fourth time interval can depend on acontrol setting in an LBS application on the third-party device, whichdetermines the frequency at which the third-party device receives theupdated geographic location information of the mobile phone, accordingto an embodiment.

Based on the description herein, a person skilled in the relevant artwill recognize that although the embodiments described above refer to acommunication link between two electronic devices (e.g., a mobile phoneand a third-party device), the embodiments described above herein areequally applicable to a communication link between two or moreelectronic devices. For instance, two or more electronic devices (e.g.,client devices 110 ₀-110 _(N) of FIG. 1) can establish a communicationlink with one another via, for example and without limitation, anon-line group chat application. During this exemplary communicationlink, the two or more electronic devices can transmit each of theirrespective geographic location information to a server device (e.g.,using method 300 of FIG. 3), in which each of the electronic devices canalso receive geographic location information for another electronicdevice by accessing the server device (e.g., using method 400 of FIG.4).

Various aspects of the embodiments described herein may be implementedin software, firmware, hardware, or a combination thereof. FIG. 6 is anillustration of another example computer system 600 in which embodimentsdescribed herein, or portions thereof, can be implemented ascomputer-readable code. For example, the methods illustrated byflowchart 300 of FIG. 3, flowchart 400 of FIG. 4, and flowchart 500 ofFIG. 5 can be implemented in computer system 600. Various embodimentsare described in terms of this example computer system 600. Afterreading this description, it will become apparent to a person skilled inthe relevant art how to implement embodiments described herein usingother computer systems and/or computer architectures.

Computer system 600 can be any commercially available and well knowncomputer capable of performing the functions described herein, such ascomputers available from International Business Machines, Apple, Sun,HP, Dell, Compaq, Cray, etc.

Computer system 600 includes one or more processors, such as processor604. Processor 604 may be a special purpose or a general-purposeprocessor. Processor 604 is connected to a communication infrastructure606 (e.g., a bus or network).

Computer system 600 also includes a main memory 608, preferably randomaccess memory (RAM), and may also include a secondary memory 610. Mainmemory 608 has stored therein a control logic 609 (computer software)and data. Secondary memory 610 can include, for example, a hard diskdrive 612, a removable storage drive 614, and/or a memory stick.Removable storage drive 614 can comprise a floppy disk drive, a magnetictape drive, an optical disk drive, a flash memory, or the like. Theremovable storage drive 614 reads from and/or writes to a removablestorage unit 617 in a well-known manner. Removable storage unit 618 caninclude a floppy disk, magnetic tape, optical disk, etc. which is readby and written to by removable storage drive 618. As will be appreciatedby persons skilled in the relevant art, removable storage unit 617includes a computer-usable storage medium 618 having stored therein acontrol logic 619 (e.g., computer software) and/or data.

In alternative implementations, secondary memory 610 can include othersimilar devices for allowing computer programs or other instructions tobe loaded into computer system 600. Such devices can include, forexample, a removable storage unit 622 and an interface 620. Examples ofsuch devices can include a program cartridge and cartridge interface(such as those found in video game devices), a removable memory chip(e.g., EPROM or PROM) and associated socket, and other removable storageunits 622 and interfaces 620 which allow software and data to betransferred from the removable storage unit 622 to computer system 600.

Computer system 600 also includes a display 630 that communicates withcomputer system 600 via a display interface 602. Although not shown incomputer system 600 of FIG. 6, as would be understood by a personskilled in the relevant art, computer system 600 can communicate withother input/output devices such as, for example and without limitation,a keyboard, a pointing device, and a Bluetooth device.

Computer system 600 can also include a communications interface 624.Communications interface 624 allows software and data to be transferredbetween computer system 600 and external devices. Communicationsinterface 624 can include a modem, a network interface (such as anEthernet card), a communications port, a PCMCIA slot and card, or thelike. Software and data transferred via communications interface 624 arein the form of signals, which may be electronic, electromagnetic,optical, or other signals capable of being received by communicationsinterface 624. These signals are provided to communications interface624 via a communications path 626. Communications path 626 carriessignals and may be implemented using wire or cable, fiber optics, aphone line, a cellular phone link, a RF link or other communicationschannels.

In this document, the terms “computer program medium” and“computer-usable medium” are used to generally refer to media such asremovable storage unit 617, removable storage unit 618, and a hard diskinstalled in hard disk drive 612. Computer program medium andcomputer-usable medium can also refer to memories, such as main memory608 and secondary memory 610, which can be memory semiconductors (e.g.,DRAMs, etc.). These computer program products provide software tocomputer system 600.

Computer programs (also called computer control logic) are stored onmain memory 608 and/or secondary memory 610. Computer programs may alsobe received via communications interface 624. Such computer programs,when executed, enable computer system 600 to implement embodimentsdescribed herein. In particular, the computer programs, when executed,enable processor 604 to implement processes described herein, such asthe steps in the methods illustrated by flowchart 300 of FIG. 3,flowchart 400 of FIG. 4, and flowchart 500 of FIG. 5, discussed above.Accordingly, such computer programs represent controllers of thecomputer system 600. Where embodiments are implemented using software,the software can be stored on a computer program product and loaded intocomputer system 600 using removable storage drive 614, interface 620,hard drive 612 or communications interface 624.

Based on the description herein, a person skilled in the relevant artwill recognize that the computer programs, when executed, can enable oneor more processors to implement processes described above, such as thesteps in the method illustrated by flowchart 300 of FIG. 3, flowchart400 of FIG. 4, and flowchart 500 of FIG. 5. In an embodiment, the one ormore processors can be part of a computing device incorporated in aclustered computing environment or server farm. Further, in anembodiment, the computing process performed by the clustered computingenvironment such as, for example, the steps in the method illustrated byflowchart 300, flowchart 400, and flowchart 500 may be carried outacross multiple processors located at the same or different locations.

Based on the description herein, a person of skilled in the relevant artwill recognize that the computer programs, when executed, can enablemultiple processors to implement processes described above, such as thesteps in the method illustrated by flowchart 300 of FIG. 3, flowchart400 of FIG. 4, and flowchart 500 of FIG. 5. In an embodiment, thecomputing process performed by the multiple processors can be carriedout across multiple processors located at a different location from oneanother.

Embodiments are also directed to computer program products includingsoftware stored on any computer-usable medium (e.g., computer useablemedium 618 and 631). Such software, when executed in one or more dataprocessing device, causes a data processing device(s) to operate asdescribed herein. Embodiments employ any computer-usable or -readablemedium, known now or in the future. Examples of computer-usable mediumsinclude, but are not limited to, primary storage devices (e.g., any typeof random access memory), secondary storage devices (e.g., hard drives,floppy disks, CD ROMS, ZIP disks, tapes, magnetic storage devices,optical storage devices, MEMS, nanotechnological storage devices, etc.),and communication mediums (e.g., wired and wireless communicationsnetworks, local area networks, wide area networks, intranets, etc.).

Embodiments have been described above with the aid of functionalbuilding blocks illustrating the implementation of specified functionsand relationships thereof. The boundaries of these functional buildingblocks have been arbitrarily defined herein for the convenience of thedescription. Alternate boundaries can be defined so long as thespecified functions and relationships thereof are appropriatelyperformed.

While various embodiments have been described above, it should beunderstood that they have been presented by way of example only, and notlimitation. It will be understood by those skilled in the relevant artthat various changes in form and details can be made therein withoutdeparting from the spirit and scope of the embodiments described herein.It should be understood that this description is not limited to theseexamples. This description is applicable to any elements operating asdescribed herein. Accordingly, the breadth and scope of this descriptionshould not be limited by any of the above-described exemplaryembodiments, but should be defined only in accordance with the followingclaims and their equivalents.

What is claimed is:
 1. A method of providing geographic locationinformation for a mobile device, comprising: transmitting the geographiclocation information from the mobile device to a server device at afirst time interval; determining whether the mobile device is incommunication with a third-party device, wherein determining whether themobile device is in communication with the third-party device comprisesdetermining whether a direct communication link is established betweenthe mobile device and the third-party device, the direct communicationlink including a voice communication, a text message, an e-mailcommunication, or a combination thereof between the mobile device andthe third-party device; and transmitting the geographic locationinformation from the mobile device to the server device at a second timeinterval when the mobile device is in communication with the third-partydevice to provide updates of the geographic location information at thesecond time interval shorter than the first time interval while themobile device is in communication with the third-party device, whereinthe third-party device is allowed to access and view the geographiclocation information from the mobile device, via the server device,during the communication.
 2. The method of claim 1, wherein transmittingthe geographic location information from the mobile device to the serverdevice at the first time interval comprises transmitting Global PositionSystem (GPS) location information from the mobile device to the serverdevice at the first time interval, and wherein transmitting thegeographic location information from the mobile device at the secondtime interval when the mobile device is in communication with thethird-party device comprises transmitting the Global Position System(GPS) location information from the mobile device to the server deviceat the second time interval when the mobile device is in communicationwith the third-party device.
 3. The method of claim 1, whereintransmitting the geographic location information from the mobile deviceto the server device comprises transmitting the geographic locationinformation relating to latitude-longitude coordinates, a streetlocation, a city location, a state location, a country location of themobile device, or a combination thereof.
 4. The method of claim 3,wherein determining whether the mobile device is in communication with athird-party device further comprises determining the distance betweenthe third-party device and the mobile device, and wherein thetransmitting the geographic location information from the mobile devicecomprises transmitting the city location, the state location, thecountry location of the mobile device, or a combination thereof when thethird-party device is located farther than a predetermined distance fromthe mobile device.
 5. The method of claim 3, wherein transmitting thecity location, the state location, the country location of the mobiledevice, or the combination thereof, comprises excluding thelatitude-longitude coordinates, the street location, or a combinationthereof, from the geographic location information when the mobile deviceand the third-party device are located in different cities from oneanother.
 6. The method of claim 1, wherein transmitting the geographiclocation information from the mobile device at the second time intervalcomprises determining the second time interval based on a rate of changein geographic location information of the mobile device over time.
 7. Acomputer-usable storage medium having computer program logic recordedthereon that, when executed by one or more processors, providesgeographic location information for a mobile device, the computerprogram logic comprising: first computer readable program code thatenables a processor to transmit the geographic location information fromthe mobile device to a server device at a first time interval; secondcomputer readable program code that enables a processor to determinewhether the mobile device is in communication with a third-party device,wherein the second computer readable program code further enables aprocessor to determine whether a direct communication link isestablished between the mobile device and the third-party device, thedirect communication link including a voice communication, a textmessage, an e-mail communication, or a combination thereof between themobile device and the third-party device; and third-computer readableprogram code that enables a processor to transmit the geographiclocation information from the mobile device to the server device at asecond time interval when the mobile device is in communication with thethird-party device to provide updates of the geographic locationinformation at the second time interval shorter than the first timeinterval while the mobile device is in communication with thethird-party device, wherein the third-party device is allowed to accessand view the geographic location information from the mobile device, viathe server device, during the communication.
 8. The computer-usablestorage medium of claim 7, wherein the first computer readable programcode comprises fourth computer readable program code that enables aprocessor to transmit Global Positioning System (GPS) locationinformation from the mobile device to the server device at the firsttime interval, and wherein the third computer readable program codecomprises fifth computer readable program code that enables a processorto transmit the GPS location information from the mobile device to theserver device at the second time interval when the mobile device is incommunication with the third-party device.
 9. The computer-usablestorage medium of claim 7, wherein the third computer readable programcode comprises: fourth computer readable program code that enables aprocessor to transmit geographic location information relating tolatitude-longitude coordinates, a street location, a city location, astate location, a country location of the mobile device, or acombination thereof.
 10. The computer-usable storage medium of claim 9,wherein the fourth computer readable program code comprises: fifthcomputer readable program code that enables a processor to determine thedistance between the mobile device and the third-party device; and sixthcomputer readable program code that enables a processor to transmit thecity location, state location, the country location of the mobiledevice, or a combination thereof when the third-party device is fartherthan a predetermined distance from the mobile device.
 11. Thecomputer-usable storage medium of claim 7, wherein the third computerreadable program code comprises: fourth computer readable program codethat enables a processor to determine the second time interval based ona rate of change in the geographic location information of the mobiledevice over time.
 12. A system that provides geographic locationinformation for a mobile device, the system comprising: a GlobalPositioning System (GPS) configured to calculate geographic locationinformation for the mobile device; a transceiver configured to transmitthe geographic location information from the mobile device to a serverdevice at a first time interval; and a computing device comprising oneor more processors, configured to: determine whether the mobile deviceis in communication with a third-party device by determining whether adirect communication link including a voice communication, a textmessage, or an e-mail communication is established between the mobiledevice and the third-party device; and transmit, via the transceiver,the geographic location information from the mobile device to the serverdevice at a second time interval when the mobile device is incommunication with the third-party device to provide updates of thegeographic location information at the second time interval while themobile device is in communication with the third-party device, whereinthe second time interval is shorter than the first time interval. 13.The system of claim 12, wherein the transceiver is configured totransmit geographic location information from the mobile device to theserver device, wherein the third-party device is allowed to access andview the geographic location information from the mobile device, via theserver device, during the communication.
 14. The system of claim 12,wherein the transceiver is configured to transmit geographic locationinformation relating to latitude-longitude coordinates, a streetlocation, a city location, a state location, a country location of themobile device, or a combination thereof.
 15. The system of claim 14,wherein the computing device is further configured to determine thedistance between the third-party device and the mobile device, andwherein the transceiver is configured to transmit the city location, thestate location, the country location of the mobile device, or acombination thereof when the third-party device is located farther thana predetermined distance from the mobile device.
 16. The system of claim12, wherein the computing device is configured to determine the secondtime interval based on a rate of change in the geographic locationinformation of the mobile device over time.